
// #ifndef VUE3
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
})
// app.use(store)
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
import store from './store'
import Vuex from "vuex";

// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'
// 设置请求头
$http.baseUrl = 'https://www.uinav.com';
// 挂载请求拦截器
$http.beforeRequest = function (options){
  uni.showLoading({
    title:"数据加载中..."
  })
  // 判断请求是否有权限的API接口
  if(options.url.indexOf('/my/') !== -1){
    // 为请求头添加身份认证字段--即添加到请求头上
    options.header = {
      // 字段的值可以直接从vuex中获取
      Authorzation:store.state.m_user.token
    }
  }
}
// 挂载响应拦截器
$http.afterRequest = function(options){
  uni.hideLoading()
}
// 将$http挂载uni上
uni.$http = $http;
// 全局挂载一个uni.$showMsg()的方法，用于提示请求的结果
uni.$showMsg = function(title = "数据加载失败！",duration = 1500){
  uni.showToast({
    title,
    duration,
    icon:"none"
  })
}

export function createApp() {
  const app = createSSRApp(App)
  app.use(store)
  return {
    app,
    Vuex // 注意，如果 nvue 使用 vuex 的各种map工具方法时，必须 return Vuex
  }
}
// export const app = createSSRApp(App)
// #endif